home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 25 / AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso / Updates / HD-Installer / jst_dev / sources / OSEmu / mathtrans.s < prev    next >
Text File  |  2000-04-12  |  31KB  |  1,288 lines

  1. * $Id: mathtrans.s 1.1 1999/02/03 04:09:05 jotd Exp $
  2.  
  3. **************************************************************************
  4. *   MATHTRANS-LIBRARY                                                    *
  5. **************************************************************************
  6. **************************************************************************
  7. *   INITIALIZATION                                                       *
  8. **************************************************************************
  9.  
  10. MATHTRANSINIT    move.l    _mtrbase,d0
  11.         beq    .init
  12.         rts
  13.  
  14. .init        move.l    #-_LVOSPDiv,d0
  15.         move.l    #LIB_SIZE,D1
  16.         lea    _mtrname,a0
  17.         jsr    _InitLibrary
  18.         move.l    d0,a0
  19.         move.l    d0,_mtrbase
  20.  
  21.         patch    _LVOSPAtan(a0),SPAtan(pc)
  22.         
  23.         rts
  24.  
  25. ; IRA V1.05beta (9.6.95) (c)1993-95 Tim Ruehsen (SiliconSurfer/PHANTASM)
  26.  
  27. ABSEXECBASE    EQU    $4
  28. EXT_0003    EQU    $31290D0A
  29. EXT_0004    EQU    $FFFFFFAC
  30. EXT_0005    EQU    $FFFFFFB2
  31. EXT_0006    EQU    $FFFFFFB8
  32. EXT_0007    EQU    $FFFFFFBE
  33. EXT_0008    EQU    $FFFFFFC4
  34. EXT_0009    EQU    $FFFFFFCA
  35. EXT_000A    EQU    $FFFFFFD0
  36. EXT_000B    EQU    $FFFFFFD6
  37. EXT_000C    EQU    $FFFFFFDC
  38. EXT_000D    EQU    $FFFFFFE2
  39.  
  40.  
  41.  
  42. ROMTAG:
  43.     ILLEGAL                ;000: 4AFC
  44.     DC.L    ROMTAG            ;002: 00000000
  45.     DC.L    ENDSKIP            ;006: 00000C10
  46.     dc.w    $8125
  47.     dc.w    $0900
  48.     DC.L    LIBNAME            ;00E: 0000001A
  49.     DC.L    IDSTRING        ;012: 0000002C
  50.     DC.L    INIT+2            ;016: 00000048
  51. LIBNAME:
  52.     DC.W    $6D61            
  53.     dc.w    $7468
  54.     dc.w    $7472
  55.     dc.w    $616E
  56.     DC.W    $732E            
  57.     DC.W    $6C69            
  58.     dc.w    $6272
  59.     dc.w    $6172
  60.     DC.W    $7900            
  61. IDSTRING:
  62.     DC.W    $6D61            
  63.     dc.w    $7468
  64.     dc.w    $7472
  65.     dc.w    $616E
  66.     DC.W    $7320            
  67.     DC.W    $3337            
  68.     dc.l    $2E312028
  69.     DC.W    $3232            
  70.     DC.W    $2E31            
  71.     dc.l    $31290D0A
  72. INIT:
  73.     dc.l    $00000000
  74.     DC.W    $0022            
  75.     DC.L    FUNCTABLE        ;04C: 0000007C
  76.     DC.L    DATATABLE        ;050: 00000060
  77.     DC.L    INITFUNCTION        ;054: 00000058
  78. INITFUNCTION:
  79.     MOVE.L    A0,LAB_0015        ;058: 23C800000188
  80.     RTS                ;05E: 4E75
  81. DATATABLE:
  82.     DC.W    $A008            
  83.     dc.w    $0900
  84.     DC.W    $800A            
  85.     DC.L    LIBNAME            
  86.     dc.w    $9016
  87.     DC.W    $0001            
  88.     dc.w    $9014
  89.     DC.W    $0025            
  90.     DC.W    $A00E            
  91.     DC.W    $0600            
  92.     dc.w    $9020
  93.     dc.l    $00000000
  94. FUNCTABLE:
  95.     DC.L    OPEN            ;07C: 00000116
  96.     DC.L    CLOSE            ;080: 00000152
  97.     DC.L    EXPUNGE            ;084: 000000D4
  98.     DC.L    INITFUNCTION        ;088: 00000058
  99.     DC.L    LIBFUNC_0        ;08C: 00000456
  100.     DC.L    LIBFUNC_1        ;090: 00000460
  101.     DC.L    LIBFUNC_2        ;094: 0000046A
  102.     DC.L    LIBFUNC_3        ;098: 00000474
  103.     DC.L    LIBFUNC_4        ;09C: 0000047E
  104.     DC.L    LIBFUNC_5        ;0A0: 0000049C
  105.     DC.L    LIBFUNC_6        ;0A4: 000004A6
  106.     DC.L    LIBFUNC_7        ;0A8: 000004B0
  107.     DC.L    LIBFUNC_8        ;0AC: 000004BA
  108.     DC.L    LIBFUNC_9        ;0B0: 000004C4
  109.     DC.L    LIBFUNC_10        ;0B4: 000004D8
  110.     DC.L    LIBFUNC_11        ;0B8: 000001A8
  111.     DC.L    LIBFUNC_12        ;0BC: 000004E2
  112.     DC.L    LIBFUNC_13        ;0C0: 000004EC
  113.     DC.L    LIBFUNC_14        ;0C4: 00000442
  114.     DC.L    LIBFUNC_15        ;0C8: 0000044C
  115.     DC.L    LIBFUNC_16        ;0CC: 000004CE
  116.     DC.L    -1            
  117. EXPUNGE:
  118.     TST    32(A6)            ;0D4: 4A6E0020
  119.     BNE.S    LAB_000C        ;0D8: 6632
  120.     MOVEA.L    A6,A1            ;0DA: 224E
  121.     MOVEA.L    (A1),A0            ;0DC: 2051
  122.     MOVEA.L    4(A1),A1        ;0DE: 22690004
  123.     MOVE.L    A0,(A1)            ;0E2: 2288
  124.     MOVE.L    A1,4(A0)        ;0E4: 21490004
  125.     MOVEA.L    A6,A1            ;0E8: 224E
  126.     MOVEQ    #0,D0            ;0EA: 7000
  127.     MOVE    16(A6),D0        ;0EC: 302E0010
  128.     SUBA    D0,A1            ;0F0: 92C0
  129.     ADD    18(A6),D0        ;0F2: D06E0012
  130.     MOVE.L    A6,-(A7)        ;0F6: 2F0E
  131.     MOVEA.L    ABSEXECBASE,A6        ;0F8: 2C7900000004
  132.     JSR    -210(A6)        ;0FE: 4EAEFF2E
  133.     MOVEA.L    (A7)+,A6        ;102: 2C5F
  134.     MOVE.L    LAB_0015,D0        ;104: 203900000188
  135.     RTS                ;10A: 4E75
  136. LAB_000C:
  137.     BSET    #3,14(A6)        ;10C: 08EE0003000E
  138.     MOVEQ    #0,D0            ;112: 7000
  139.     RTS                ;114: 4E75
  140. OPEN:
  141.     BTST    #3,14(A6)        ;116: 082E0003000E
  142.     BNE.S    LAB_000F        ;11C: 6630
  143.     ADDQ    #1,32(A6)        ;11E: 526E0020
  144.     CMPI    #$0001,32(A6)        ;122: 0C6E00010020
  145.     BNE.S    LAB_000E        ;128: 6620
  146.     MOVE.L    ABSEXECBASE,LAB_0013    ;12A: 23F90000000400000180
  147.     CLR.L    -(A7)            ;134: 42A7
  148.     PEA    LAB_0016        ;136: 48790000018C
  149.     JSR    LAB_00B0        ;13C: 4EB900000C34
  150.     ADDQ.L    #8,A7            ;142: 508F
  151.     MOVE.L    D0,LAB_0014        ;144: 23C000000184
  152. LAB_000E:
  153.     MOVE.L    A6,D0            ;14A: 200E
  154.     RTS                ;14C: 4E75
  155. LAB_000F:
  156.     MOVEQ    #-1,D0            ;14E: 70FF
  157.     RTS                ;150: 4E75
  158. MATHTRCLOSE:
  159.     MOVEQ    #0,D0            ;152: 7000
  160.     SUBQ    #1,32(A6)        ;154: 536E0020
  161.     BNE.S    LAB_0011        ;158: 660C
  162.     BTST    #3,14(A6)        ;15A: 082E0003000E
  163.     BEQ.S    LAB_0011        ;160: 6704
  164.     BSR    EXPUNGE            ;162: 6100FF70
  165. LAB_0011:
  166.     MOVE.L    D0,-(A7)        ;166: 2F00
  167.     TST    32(A6)            ;168: 4A6E0020
  168.     BNE.S    LAB_0012        ;16C: 660E
  169.     MOVE.L    LAB_0014,-(A7)        ;16E: 2F3900000184
  170.     JSR    ENDSKIP            ;174: 4EB900000C10
  171.     ADDQ.L    #4,A7            ;17A: 588F
  172. LAB_0012:
  173.     MOVE.L    (A7)+,D0        ;17C: 201F
  174.     RTS                ;17E: 4E75
  175. LAB_0013:
  176.     ORI.B    #$00,D0            ;180: 00000000
  177. LAB_0014:
  178.     ORI.B    #$00,D0            ;184: 00000000
  179. LAB_0015:
  180.     ORI.B    #$00,D0            ;188: 00000000
  181. LAB_0016:
  182.     DC.W    $6D61            
  183.     dc.w    $7468
  184.     dc.w    $6666
  185.     dc.w    $702E
  186.     DC.W    $6C69            
  187.     dc.w    $6272
  188.     dc.w    $6172
  189.     DC.W    $7900            
  190. LAB_0017:
  191.     ANDI.B    #$7F,D0            ;19C: 0200007F
  192.     BSR.S    LIBFUNC_11        ;1A0: 6106
  193.     ORI.B    #$02,CCR        ;1A2: 003C0002
  194.     RTS                ;1A6: 4E75
  195. LIBFUNC_11:
  196.     MOVE.B    D0,D1            ;1A8: 1200
  197.     BEQ.S    LAB_0020        ;1AA: 6760
  198.     BMI.S    LAB_0017        ;1AC: 6BEE
  199.     MOVEM.L    D4-D6,-(A7)        ;1AE: 48E70E00
  200.     LSR.B    #1,D1            ;1B2: E209
  201.     BCC.S    LAB_0019        ;1B4: 6404
  202.     ADDQ.B    #1,D1            ;1B6: 5201
  203.     LSR.L    #1,D0            ;1B8: E288
  204. LAB_0019:
  205.     ADDI.B    #$20,D1            ;1BA: 06010020
  206.     SWAP    D1            ;1BE: 4841
  207.     MOVE    #$0017,D1        ;1C0: 323C0017
  208.     LSR.L    #7,D0            ;1C4: EE88
  209.     MOVE.L    D0,D4            ;1C6: 2800
  210.     MOVE.L    D0,D5            ;1C8: 2A00
  211.     MOVE.L    #$00200000,D6        ;1CA: 2C3C00200000
  212.     MOVE.L    #$00800000,D0        ;1D0: 203C00800000
  213.     SUB.L    D0,D4            ;1D6: 9880
  214.     SUBI.L    #$01200000,D5        ;1D8: 048501200000
  215.     BRA.S    LAB_001C        ;1DE: 600E
  216. LAB_001A:
  217.     BSET    D1,D0            ;1E0: 03C0
  218.     MOVE.L    D5,D4            ;1E2: 2805
  219. LAB_001B:
  220.     ADD.L    D4,D4            ;1E4: D884
  221.     MOVE.L    D4,D5            ;1E6: 2A04
  222.     LSR.L    #1,D6            ;1E8: E28E
  223.     SUB.L    D6,D5            ;1EA: 9A86
  224.     SUB.L    D0,D5            ;1EC: 9A80
  225. LAB_001C:
  226.     DBMI    D1,LAB_001A        ;1EE: 5BC9FFF0
  227.     DBPL    D1,LAB_001B        ;1F2: 5AC9FFF0
  228.     BLS.S    LAB_001E        ;1F6: 630A
  229. LAB_001D:
  230.     CMPI.L    #$00FFFFFF,D0        ;1F8: 0C8000FFFFFF
  231.     BEQ.S    LAB_001E        ;1FE: 6702
  232.     ADDQ.L    #1,D0            ;200: 5280
  233. LAB_001E:
  234.     LSL.L    #8,D0            ;202: E188
  235.     SWAP    D1            ;204: 4841
  236.     MOVE.B    D1,D0            ;206: 1001
  237. LAB_001F:
  238.     MOVEM.L    (A7)+,D4-D6        ;208: 4CDF0070
  239. LAB_0020:
  240.     RTS                ;20C: 4E75
  241.     DC.W    $0000            
  242. LAB_0021:
  243.     MOVE.L    D0,D7            ;210: 2E00
  244.     TST.B    D7            ;212: 4A07
  245.     JSR    LAB_00AF        ;214: 4EB900000C24
  246.     BSET    #1,D0            ;21A: 08C00001
  247.     BCLR    #3,D0            ;21E: 08800003
  248.     BRA    LAB_0031        ;222: 6000019A
  249. LAB_0022:
  250.     MOVE.L    D6,-(A7)        ;226: 2F06
  251.     MOVE.L    D3,D0            ;228: 2003
  252.     MOVE.L    #$B18D0BC3,D1        ;22A: 223CB18D0BC3
  253.     JSR    -66(A5)            ;230: 4EADFFBE
  254.     MOVE.L    D3,D1            ;234: 2203
  255.     JSR    -78(A5)            ;236: 4EADFFB2
  256.     MOVE.L    #$B350F043,D1        ;23A: 223CB350F043
  257.     JSR    -66(A5)            ;240: 4EADFFBE
  258.     MOVE.L    D0,D6            ;244: 2C00
  259.     MOVE.L    D3,D0            ;246: 2003
  260.     MOVE.L    #$812065C0,D1        ;248: 223C812065C0
  261.     JSR    -78(A5)            ;24E: 4EADFFB2
  262.     MOVE.L    #$EF166B40,D1        ;252: 223CEF166B40
  263.     JSR    -66(A5)            ;258: 4EADFFBE
  264.     MOVE.L    D3,D1            ;25C: 2203
  265.     JSR    -78(A5)            ;25E: 4EADFFB2
  266.     MOVE.L    D6,D1            ;262: 2206
  267.     JSR    -84(A5)            ;264: 4EADFFAC
  268.     MOVE.L    D5,D1            ;268: 2205
  269.     JSR    -78(A5)            ;26A: 4EADFFB2
  270.     MOVE.L    D5,D1            ;26E: 2205
  271.     JSR    -66(A5)            ;270: 4EADFFBE
  272.     MOVE.L    (A7)+,D6        ;274: 2C1F
  273.     RTS                ;276: 4E75
  274. LAB_0023:
  275.     CLR.L    D1            ;278: 4281
  276.     BRA.S    LAB_0025        ;27A: 6002
  277. LAB_0024:
  278.     MOVEQ    #1,D1            ;27C: 7201
  279. LAB_0025:
  280.     MOVEM.L    D2-D6/A5,-(A7)        ;27E: 48E73E04
  281.     MOVE.L    D1,D6            ;282: 2C01
  282.     MOVEA.L    LAB_0014,A5        ;284: 2A7900000184
  283.     MOVE.L    D7,D0            ;28A: 2007
  284.     JSR    -54(A5)            ;28C: 4EADFFCA
  285.     MOVE.L    D0,D5            ;290: 2A00
  286.     MOVE.L    #$80000040,D1        ;292: 223C80000040
  287.     JSR    -42(A5)            ;298: 4EADFFD6
  288.     BLT    LAB_0026        ;29C: 6D000052
  289.     MOVE.L    D5,D0            ;2A0: 2005
  290.     MOVE.L    #$80000041,D1        ;2A2: 223C80000041
  291.     JSR    -42(A5)            ;2A8: 4EADFFD6
  292.     BGT    LAB_0021        ;2AC: 6E00FF62
  293.     MOVEQ    #1,D4            ;2B0: 7801
  294.     SUB.L    D6,D4            ;2B2: 9886
  295.     MOVE.L    #$80000040,D0        ;2B4: 203C80000040
  296.     MOVE.L    D5,D1            ;2BA: 2205
  297.     JSR    -72(A5)            ;2BC: 4EADFFB8
  298.     MOVE.L    #$80000040,D1        ;2C0: 223C80000040
  299.     JSR    -66(A5)            ;2C6: 4EADFFBE
  300.     MOVE.L    #$80000042,D1        ;2CA: 223C80000042
  301.     JSR    -84(A5)            ;2D0: 4EADFFAC
  302.     MOVE.L    D0,D3            ;2D4: 2600
  303.     BSR    LIBFUNC_11        ;2D6: 6100FED0
  304.     MOVE.L    #$800000C2,D1        ;2DA: 223C800000C2
  305.     JSR    -78(A5)            ;2E0: 4EADFFB2
  306.     MOVE.L    D0,D5            ;2E4: 2A00
  307.     BSR    LAB_0022        ;2E6: 6100FF3E
  308.     MOVE.L    D0,D2            ;2EA: 2400
  309.     BRA    LAB_0028        ;2EC: 6000002C
  310. LAB_0026:
  311.     MOVE.L    D6,D4            ;2F0: 2806
  312.     MOVE.L    D5,D0            ;2F2: 2005
  313.     MOVE.L    #$00000000,D1        ;2F4: 223C00000000
  314.     JSR    -42(A5)            ;2FA: 4EADFFD6
  315.     BLE    LAB_0027        ;2FE: 6F000018
  316.     MOVE.L    D5,D0            ;302: 2005
  317.     MOVE.L    D5,D1            ;304: 2205
  318.     JSR    -78(A5)            ;306: 4EADFFB2
  319.     MOVE.L    D0,D3            ;30A: 2600
  320.     MOVE.L    D0,D2            ;30C: 2400
  321.     BSR    LAB_0022        ;30E: 6100FF16
  322.     MOVE.L    D0,D2            ;312: 2400
  323.     BRA    LAB_0028        ;314: 60000004
  324. LAB_00